﻿using Eqwww.Domain.Models.Identity;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
namespace Eqwww.Domain.Models.SystemManage
{
    public class ModuleButtonModel : ICreateAudited, ILastUpdateAudited, IDeleteAudited
    {

        public string Id { get; set; }
        [Display(Name = "创建人")]
        public string CreateUserId { get; set; }
        public virtual UserModel CreateUser { get; set; }
        [Display(Name = "创建时间")]
        public DateTime? CreateTime { get; set; }
        [Display(Name = "最后更新人")]
        public string LastUpdateUserId { get; set; }
        public virtual UserModel LastUpdateUser { get; set; }
        [Display(Name = "最后更新时间")]
        public DateTime? LastUpdateTime { get; set; }
        [Display(Name = "删除标识")]
        public bool? DeleteMark { get; set; }
        [Display(Name = "删除人")]
        public string DeleteUserId { get; set; }
        public virtual UserModel DeleteUser { get; set; }
        [Display(Name = "删除时间")]
        public DateTime? DeleteTime { get; set; }

        [Display(Name = "编码")]
        public string Code { get; set; }
        [Display(Name = "名称")]
        public string Name { get; set; }
        [Display(Name = "上级按钮")]
        public string ParentId { get; set; }
        public virtual ModuleButtonModel Parent { get; set; }

        [Display(Name = "所属模块")]
        public string ModuleId { get; set; }
        public virtual ModuleModel Module { get; set; }

        [Display(Name = "按钮位置")]
        public ModuleButtonPosition? ModuleButtonPosition { get; set; }
        [Display(Name = "js脚本")]
        public string JsAction { get; set; }
        [Display(Name = "Url")]
        public string Url { get; set; }
        [Display(Name = "打开方式")]
        public ModuleButtonOpenType? ModuleButtonOpenType { get; set; }
        [Display(Name = "排序码")]
        public int? SortCode { get; set; }
        [Display(Name = "图标")]
        public string Icon { get; set; }
        [Display(Name = "显示方式")]
        public ModuleButtonShowType? ModuleButtonShowType { get; set; }

        [Display(Name = "按钮颜色")]
        public ModuleButtonColorType? ModuleButtonColorType { get; set; }

        [Display(Name = "系统按钮标识")]
        public bool? IsSystem { get; set; }
        
        [Display(Name="层级")]
        public int? Layer { get; set; }
    }
}
